# 在文件开头添加新的导入
from flask import Flask, render_template, request, jsonify, Response, stream_with_context
import os
import dotenv
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, AIMessage, SystemMessage
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
import json

# 加载环境变量
dotenv.load_dotenv()

app = Flask(__name__)

# 配置模型
os.environ["OPENAI_BASE_URL"] = os.getenv("OPENAI_BASE_URL")
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")

# 初始化模型
chat_model = ChatOpenAI(
    model="deepseek-chat",
    temperature=0.7
)

# 存储会话历史（在生产环境中应使用数据库）
session_histories = {}


@app.route('/')
def index():
    """返回主页面"""
    return render_template('index.html')


# 注册蓝图
from api.controllers.web import web_bp
from api.controllers.test import web_test_bp
app.register_blueprint(web_bp)
app.register_blueprint(web_test_bp)

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)